<?php

/**
 * 花集通京东商品API(为了方便视图呈现，重新调整数据层级等)
 *
 * @author cjj
 */
class WareAPI {
    private $_client;

    /**
     * Constructor
     */
    public function __construct($options=array()) {
        $client = isset($options[0]) ? $options[0] : null;
        if (!$client || !$client instanceof JDClient) {
            throw new APIException(30017);
        }
        $this->_client = $client;
    }

    /**
     * 获取商品图片(根据属性ID)
     *
     * @param int $ware_id 商品id
     * @param int $attribute_id 属性id
     *
     * @return mixed
     */
    public function getPropImg($ware_id=0,$attribute_id=0){
        if(!$ware_id||!is_numeric($ware_id)||!$attribute_id||!is_numeric($attribute_id)){
            return null;
        }
        $paras = array(
            'ware_id'=>$ware_id,
            'attribute_value_id'=>$attribute_id
        );
        $result=$this->_client->api('360buy.ware.propimgs.get', $paras);
        $data=isset($result['ware_propimgs_get_response'])?$result['ware_propimgs_get_response']:$result;
        return $data;
    }

    /**
     * 根据商品ID列表，获取商品列表
     *
     * @param $ware_id
     *
     * @return mixed
     */
    public function get($ware_id='') {
        if(!$ware_id){
            return null;
        }
        $paras = array(
            'ware_id'=>$ware_id,
            'fields'=>'logo,property_alias,title,ware_status,jd_price,skus,attributes'
        );
        $result=$this->_client->api('360buy.ware.get', $paras);
        $data=isset($result['ware_get_response'])?$result['ware_get_response']:$result;
        return $data;
    }

    /**
     * 根据商品ID列表，获取商品列表
     *
     * @param $ware_ids
     *
     * @return mixed
     */
    public function getList($ware_ids='') {
        if(!$ware_ids){
            return null;
        }
        if(strpos($ware_ids,',')===false){
            return $this->get($ware_ids);
        }
        $paras = array(
            'ware_ids'=>$ware_ids,
            'fields'=>'logo,property_alias,title,ware_status,jd_price,skus,attributes'
        );
        $result=$this->_client->api('360buy.wares.list.get', $paras);
        $data=isset($result['ware_list_response'])?$result['ware_list_response']:$result;
        return $data;
    }
    /**
     * 根据京东TID 获取交易数据
     *
     * @param $nid
     *
     * @return mixed
     */
    public function getSkuByNid($ware_id) {
        return $this->_client->api('360buy.ware.propimgs.search', array(
            'page' => 1,
            'page_size' => 20,
            'ware_id' => $ware_id,
        ));
    }

    /**
     * 根据京东product_id获取产品
     */
    public function getProductById($ware_id) {
        return $this->_client->api('360buy.ware.get', array(
            'ware_id' => $ware_id,
        ));
    }
}